package com.example.vue.sys.mapper;

import com.example.vue.sys.domain.SysMenu;
import com.example.vue.sys.vo.MenuFormVo;

import java.util.List;
import java.util.Map;

/**
 * @author zhouxl
 * @DATE 2020/11/30
 * @descriptoin
 */
public interface SysMenuMapper {

    /**
     * 通过id查询菜单信息
     *
     * @param params 查询参数
     * @return
     */
    Map<String, Object> queryMenuById(Map<String, Object> params);

    /**
     * 添加菜单信息
     *
     * @param sysMenu
     * @return
     */
    int addMenu(SysMenu sysMenu);

    /**
     * 查询菜单列表信息
     *
     * @param menuFormVo
     * @return
     */
    List<Map<String, Object>> menuList(MenuFormVo menuFormVo);

    /**
     * 更新菜单信息
     *
     * @param menu
     * @return
     */
    int updateMenu(SysMenu menu);

    /**
     * 删除菜单信息
     *
     * @param params
     * @return
     */
    int deleteMenu(Map<String, Object> params);

    /**
     * 删除当前菜单及其下所有菜单信息
     *
     * @param params
     * @return
     */
    int deleteMenuList(Map<String, Object> params);

    /**
     * 查询认证的url信息
     *
     * @param params
     * @return
     */
    Map<String, Object> authMenu(Map<String, Object> params);

    /**
     * 查询所有的菜单信息
     *
     * @param params
     * @return
     */
    List<Map<String, Object>> queryMenuList(Map<String, Object> params);
}
